//前面练习上传时编写过从1到1000的素数和从1到10000的亲和数。所以习题3，5跳过
//将一个正整数分解质因数，例如输入90，输出90=2*3*3*5.

#include <stdio.h>
#include <math.h>
int main()
{
	int n,n1,x,y,i,j=0,leap;
	int k[16];
	printf("input a number :");
	scanf("%d",&n);
	n1=n;
	for(x=1;;x++)
	{
		leap=1;                          //有一个函数
		for (i=2;i<=sqrt(n);i++)         //isprime(t),若t为素数，输出1，否则输出0.
			if (n1%i==0)
			{	
				k[j]=i;          //数组k[]来储存质因数
				j++;             //j用来储存质因数个数-1
				n1/=i;
				break;
			}
		for (y=2;y<=sqrt(n1);y++)
			if (n1%y==0)
			{
				leap=0;
				break; 
			}		
		if(leap==1)                      //leap=1时，表示剩下的n1为素数。结束所有循环
			break;
	}
	printf("%d=",n);
	for(i=0;i<j;i++)
		printf("%d*",k[i]);
	printf("%d\n",n1);

	return 0 ;
}

				
//diwutiantang@diwutiantang-VirtualBox:~/snap/lc/121516/xunhuan03$ ./4
//input a number :90
//90=2*3*3*5
//diwutiantang@diwutiantang-VirtualBox:~/snap/lc/121516/xunhuan03$ ./4
//input a number :24
//24=2*2*2*3
//diwutiantang@diwutiantang-VirtualBox:~/snap/lc/121516/xunhuan03$ ./4
//input a number :2
//2=2
//diwutiantang@diwutiantang-VirtualBox:~/snap/lc/121516/xunhuan03$ ./4
//input a number :17
//17=17





